10.0 Credits and History
Go to the Table Of Contents, go back to 9.0 Contacting The Authors or go forward to 11.0 Frequently Asked Questions.
10.1 Credits
Peter Li wrote the FTP engine which manages FTP connections, obtaining directory listings, file transfers (including the low level Partial File Support) and other remote file operations such as renaming files and deleting files. He also wrote the binary transfer engine and the MacBinary transfer engine. He also put together all the database related code used for directory/window position caching, partial file information database, etc.
Vincent Tan wrote the interface for the FTP engine - the part of the program which manages drawing, selecting, clicking in windows and dialogs. Other user interface items like the Preferences, bookmarks, the file transfer dialog and the registration form dialog. He also wrote the binhex 4.0 engine. Vincent also wrote the Netscape browser AppleScript applets (now obsolete) and "Change To Partial File" drop-applet included in the package.
Peter and Vincent both engineered the partial file support and wrote the documentation.
Special thanks to Jeremy Foy of Device Media for his Splash Screen design used in v1.2.
Thanks to Stuart Cheshire <cheshire@CS.Stanford.EDU> for the Natural Order source code. It's a routine which causes the directory listings to appear in an order which is more intuitively correct. For example, file2.jpg appears before file10.jpg instead of the other way around. If you're interested, you can get it from <ftp://bolo.stanford.edu//Public/Stuart's tech notes/Natural Order>.
NetFinder works best when used with Internet Config. Thanks to all of the authors of this nifty system. Here are the IC sites in Australia and the USA.
"Change To Partial File" is based on DropShell, which is written by Leonard Rosenthol, Marshall Clow, and Stephan Somogyi.
Last but not least, portions of this software are...
"Copyright (c) 1991, 1993, 1994
The Regents of the University of California. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- All advertising materials mentioning features or use of this software must display the following acknowledgement:
This product includes software developed by the University of California, Berkeley and its contributors.
- Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE."
Check out the license agreement for more legal information about the use of this software.
10.2 Version History
Version 1.2.1 - November 9, 1997.
Bug fixes and improvements:
- when the highlight colour was set to black and white, bookmark list items were "highlighted" in black. Fixed.
- modified to now use the last user selected in Netscape Communicator (ie, 4.0 or later) for the "Tell Netscape to use NetFinder for FTP URLs" preference. Previously, NF would always try to open a Netscape preference file in a folder named "Netscape f" in the Preferences Folder (which is what versions 2.x and 3.x would use). With this modification, NF will now set the preference for the "current" (ie, last used) Netscape Communicator user. You can also see the Netscape section in the instructions to learn how to configure it.
- NF used to always speak with the "Fred" voice instead of the voice set in the Speech Control Panel. Fixed.
- no longer displays "..." instead of "s" in directory listings.
- the title of the partial files window is now "Partial File List".
- no longer counts separators as bookmarks in bookmark list windows.
- you can now drag in more than 1 url file into a bookmark list. The name of the file is used as the bookmark's title and if the name ends in ".url", the ".url" is removed from the bookmark's title.
- when you re-open a bookmark list, it now scrolls to the selected item
- dragging out items from a bookmark list to a Finder window now produces a ".url" file (instead of a text clipping)
- no longer requires "ObjectSupportLib" on PowerPC systems (this allows you to start NetFinder with all extensions off)
- added Apple Data Detector support. See the Read Me file in the Apple Data Detector support folder.
- added support for SOCKS proxy servers (note the NetFinder still does not support http-based proxy servers).
- fixed a bug causing passwords in bookmark lists to not work.
- added support for editing (text) files with BBEdit. This requires BBEdit 4.5.1 or later.
- added the editURL AppleScript command to script editing of remote (text) files.
- added Drop*Upload drop-applet to make it easier to do quick uploads.
- added ISO-2022 JP decoding for the Japanese version.
- fixed several bugs with resuming partial files.
- compatibility section updated; describes a situation causing inability to start NetFinder.
Version 1.2 - August 31, 1997.
Incompatibilities:
- None known. NetFinder is no longer incompatible with PowerFPU.
Bug fixes:
- fixed a bug which prevented uploading of files to the root directory ("/"), for example, uploading "file.html" would generate a "STOR //file.html" instruction, instead of "STOR /file.html"
- fixed a crash which occurred when you twisted down two triangles and a new connection had to be established
- fixed a bug which caused a wrong "time remaining" amount to be shown when you resumed a download
- fixed bug with "puturl" path handling; the url specified must now only specify a directory - you cannot append the target file name. See the AppleEvent examples to see how it should be done.
- fixed a bug which caused downloaded text files which did not have a suffix to end up as 'BINA' files instead of 'TEXT' files. Their type/creator attributes are now set to that of the default text file.
- fixed a bug which caused the PowerPC version to crash when you quit it with PowerFPU installed.
- no longer switches to the default directory every time you select the "Upload Item(s)" menu item
- no longer asks you for a folder to download to when you double click a folder alias
- the current view mode now has a check mark next to it in the View menu
- no longer waits for 30 seconds on quitting when you cancelled a connection to a non-existant server
- tweaked low memory dialogs: you now won't get multiple dialogs at the same time
- now uses the launched copy of Netscape (or whatever helper you specify) instead of the first one found on your disks
- fixed memory leaks when accessing the partial file database (large lists used to leak a lot of memory)
- fixed infinite looping when you tried to create a new directory and both "Untitled_Directory" and "Untitled_Directory_1" existed in the target directory
- When the name conflict dialog appeared, pressing "Skip" would previously abort the entire transfer (including subsequent files). It now just skips the current file and continues downloading the others.
- fixed a bug for Intelligent downloads so that it no longer downloads certain file types as text files (such as .pdf files). Instead, NetFinder now first checks the setting in the Internet Config File Mapping database and respects that setting. If there is no entry, it will then fall back on examining the file. This problem is due to the fact that some file types such as .pdf files start with text at the beginning of the file but also have binary data embedded within the file. When NetFinder examines such a file, it incorrectly concludes that it is a text file (which is true for the beginning but not for the entire file) and it would then apply text translation to the downloaded data, resulting in a corrupted file. [Note that if you do not have IC installed or do not have an entry for that file suffix then you will still get corrupted downloads; to correctly download files such as .pdf files, you should download them in binary mode.]
- fixed an infrequent transfer logging bug (it was not writing the host name correctly)
- fixed the bug which caused PORT mode file uploads to terminate early, resulting in files that were too short or even zero length files
- fixed the bug causing renaming not to happen when you pasted text over a new item's name
- when you specified a file in the New FTP Connection dialog and clicked Connect, and a download folder was subsequently asked for, it was not passing back the download mode you selected in the "download folder" dialog. Fixed
- when listing a directory and memory is low, multiple "cannot list directory" dialogs are no longer shown.
- now refreshes the actual folder that should be updated and not the outer most folder. This applies to refreshing after uploading, deleting and remote copying, as well as a manual refresh of a selected folder icon where the folder is a nested folder (one that is not at the far left).
- Fixed a bug that would not allow the user to "stop" a transfer when their modem drops. The partial file information was stored, but the user had to force quit because the program went into an infinite loop.
- Fixed a bug in the Remote Copy routine that resulted in some files being corrupted when received at the destination server.
- Fixed a bug that would incorrectly identify a binary file as a text file.
- You can now "stop" a Remote Copy that is in progress.
- MACB now works with proxy servers.
- Error messages displayed when a remote copy fails are now more accurate. You used to get an error message that was 1 or 2 commands old.
Improvements:
- AppleEvents:
- Downloading:
- tweaked binhexing; should be a little smarter now
- NetFinder can now add the url of a downloaded file to its comment (to do this, you need to enable it by going to the Post-Processing pane in the preferences)
- Uploading:
- changed the default mode for unknown file extensions to MacBinary instead of raw data (when you set uploading to use Internet Config's settings)
- now logs uploaded files
- Partial files:
- the database is now written out to the disk more often so the entries should now be more accurate if you crash later on
- Transfer progress dialog:
- now disables the "Stop" button after you press it
- now responds to cmd-.
- displays "(stalled) " if no data received for more than 5 seconds
- now displays the URL of the item (in the extended dialog)
- Connections:
- you can now use passwords and usernames up to 64 characters long
- now encodes the default URL's password
- now does ISO 8859-1 translation on usernames and passwords when attempting to connect to NetPresenz hosted sites (this allows you to have umlauts in your password)
- made the faster/compatible option work for all commands. This allows NetFinder to work with servers that do not process full paths in the commands sent to them. As a consequence, the option has been moved from the Listings pane (in the preferences window) to the General pane.
- Windows:
- now remembers window positions, sizes, and states
- window zooming and support for page up/page down/home/end added to the report windows
- now displays the date when the directory was listed in the header of listing windows
- now automatically turns off the splash screen when registered successfully
- Remote copying:
- can now do remote copying of remote directories and their contents (provided that such directories and their children can be listed)
- Preferences:
- now updates all FTP engine related preferences (such as fast/compatible mode) instantly - you no longer need to close and reopen connections
- when disabled, the splash screen will now not appear at all
- Error dialog:
- added an Edit button to error dialog, allowing you to edit URLs that are incorrect without having to retype them (this only occurs if an attempt to establish a connection fails)
- Miscellaneous:
New Features:
- Partial files:
- added a Partial Files window (it will reflect and changes to the database as NetFinder downloads files).
- added support for partial files which have been moved. You MUST double click the entry in the Partial Files window; you cannot double click the partial file's icon. NetFinder will then ask you to locate the partial file you wish to continue downloading.
- Connections:
- domains can now be excluded from the proxy server
- proxy domain range exclusion is now implemented
- added support for shortcut names, for example, entering "apple" in the host name field makes NetFinder try to connect to "apple" and it this fails, it will then try "ftp.apple.com". Similarly, you can enter "apple..au" in the host name and NetFinder will try "ftp.apple.com.au"
- added a preference to keep on trying to connect to busy sites every 5 minutes
- modified the New Connection dialog to select the host name when it is opened
- changed the "keep connections alive" interval to 1 minute
- Windows:
- Preferences:
- Bookmarks:
- added support for lists of bookmarks. See the section on the Bookmark lists.
- General/miscellaneous:
- NetFinder Engine:
- added more support for servers with slightly different directory listings.
- added support for AppleShare IP FTP servers.
- added a feature that would inform the user via the transcript when a server does not seem to be up and running. (correct most of the time)
- "Fast" and "Compatible" modes are no longer limited to the "LIST" command only. These modes are now applied to every command (with certain exceptions). This means that NetFinder is now compatible with more FTP servers!
- MACB is no longer sent when you first login. It is now sent when needed.
- The performance of transferring many small files to a server over ethernet has been improved.
- The "text streamer" now uploads intelligently. Namely, it will convert all text to UNIX if the remote server is identified as a UNIX system, similarly with DOS and MacOS based servers.
- Updated the FAQ.
- added ISO translation in the text streamer. Only available if the preference is enabled.
- added a sound/speech manager to the engine, which reads in a configuration file and plays whatever the user specifies when certain operations start/end etc.
Version 1.1.3 - April 12, 1997.
(These notes by VT)
Bug fixes:
- When you dragged the top left folder icon onto a display window, a crash would occur. Fixed.
- Listings with symbolic links would cause a crash. Fixed.
- Files downloaded with text translating would end up as SimpleText files ('TEXT'/'ttxt'), ie, it ignored the setting in Internet Config for whatever extension that text file had. Fixed.
- Uploading files by Binhex encoding now respects the end of line convention of the remote system.
- Unknown file extensions now use MacBinary enabled mode, not MacBinary disabled.
- The cursor is no longer left as a watch cursor after it creates a directory.
- When you opened a new window and typed the first letters of a file, it would select the file but scroll the file into where the horizontal scroll bar's was, instead of just above the scroll bar. Fixed.
- Paths in URLs are now exported with escape character encoding so that Netscape (and others) can use it. The only thing that won't work properly is a file with "/" in its name. The "/" is not encoded but you would be silly to have a file with a "/" in its name anyway because it confuses unix systems or programs that run under unix systems. Thus not encoding "/"s is not such a big problem.
- When a triangle was opened but there was an error listing the directory (eg, not enough permissions), a closed triangle would be drawn on top of the open triangle. Fixed.
- Previously, the document kind strings displayed were of whatever the type/creator pair that the extension mapped to. The problem was that several extensions would map to the same type/creator pair causing inaccuracy in the "kind" displayed, eg ".txt" and ".bat" would both map to a SimpleText text file which would cause "Ascii Text" to be displayed. This has been fixed so that now the extension is used to correctly display the file's kind, eg ".txt" now displays "Text File" and ".bat" now displays "MS-DOS Batch File".
- Put back the "Tell Netscape not to use NF" AppleScript program because (apparently) Netscape Navigator Gold 3.0.1 does make the change permanent (but oddly enough Navigator Standard 3.0.1 does not).
- Now flushes the file's and volume's information to disk so that if you crash, the partial file will still be there (although its icon may not be correct) and you shouldn't have to download most of it again.
New Features:
- added scripts for Netscape Navigator 2.0.2.
- implemented double-clickable Internet Config Preferences files. This is so that you could have a custom setup, and in particular, a custom File Extension/File Mapping database (ie, your own set of "suffix mappings"). See the section Using Custom Internet Config Settings for detailed instructions. IMPORTANT: users of previous versions of NetFinder must rebuild the desktop database of the volume that NetFinder is on to get the drag and drop functionality. If you don't, you won't be able to drop any custom settings files on NetFinder.
Version 1.1.2 - April 6, 1997.
(These notes by VT)
Bug fixes and tweaks:
- Put in more tweaks to try to reduce the number of "Type 11" errors.
- Fixed crashing on trying to select a folder.
- Fixed a directory caching bug which caused you to get the last listing when you tried to connect to a new site. Note that the "Directory Cache" folder will contain a file named "0" (zero); it can be deleted.
- Uploading has been modified to ignore pre-existing folders on ftp sites.
- Tweaked the one-off upload options to display the multi-file dialog when you upload a folder (instead of the one-file dialog).
Version 1.1.1 - April 2, 1997.
(These notes by VT)
Bug Fixes:
- Fixed a cause of the mysterious "Type 11" errors which occurred when you closed a window or quit the app or (sometimes) opened a listing window.
- Many simple GUI glitches are fixed.
- Preference saving was broken in v1.1. Fixed.
- Remote copying of files from/to NetPresenz servers is better because MacBinary mode is now turned on/off for each file according to the file's extension.
- The "Go To Directory..." command no longer strips all the "."s from the path you enter (and ".." still works).
- Logging of remote copying was not working in v1.1. Fixed.
- The progress bar now counts and progresses items in a downloading folder better than before (if you drag a folder to download it, the sizes are now properly set up for each item inside the folder).
- Turning off directory caching now works.
- If you chose to skip/ignore downloading an item that already existed on your disk, that item would previously be changed into a partial file (oops). Fixed.
- If you chose to skip/ignore downloading an item that already existed on your disk, the program would download it anyway (under a new name). Fixed.
- tightened the checking for bad IC mappings prefs; it now ignores empty lists.
- Fewer low memory crashes will now occur because the program will now refuse to add items to the listing window if there is less than 50K of free memory in its memory space. This prevents severe crashing from having very little memory left.
- Fixed a bug which caused the NetFinder download folder not to be loaded in when the program started.
- If you cancelled the Select Download Folder dialog after double clicking a remote file, it would download the file anyway to the Desktop. Fixed.
- If a NetFinder download folder was specified, it used to download files to the folder above it. It now downloads to the correct folder. This bug prevented you from downloading to the root directory of your hard disk.
- You can now create a bookmark to a folder named "C:" (it ends up being named "C-.url").
New Features:
- Added more support for Windows NT 3.5 ftp servers.
- Extension/suffix mapping now works better: the description from Internet Config is used first and if one can't be found, the mapping information from the System (Mac Easy Open) is used.
- Added a New Folder button in Select Download Folder dialog.
- The last opened preference pane is now remembered.
- You can now select and copy text from the transcript window.
- You can now disable the splash screen (registered users only).
- You can now suppress passwords from being saved/exported in URLs.
- You can now upload a file/folder via a menu item.
- You can now connect/open URLs which have a username but no password; such URLs will bring up a dialog requesting a password.
- Improved the handling of URLs so that Netscape-generated URLs can now be handled correctly. For example, if "ftp://extro.ucc.su.oz.au/home/users/vtan/public-html/" is sent, NetFinder will now first try the path "home/users/vtan/public-html/" and if that fails, it will then try "/home/users/vtan/public-html/" - note the starting "/".
Version 1.1 - March 25, 1997.
Bug Fixes:
- Added better support for "DOS" servers.
- Added code to prevent the engine from going "out of sync" when talking to the server.
- Fixed some problems which may have caused crashes when quitting from a server.
- Fixed a bug in the PPC ANSI library (which also exists in the PowerMac ROMs!). This would result in crashes on PPC machines when performing a listing (not from cache). Mail Peter if anyone is interested.
- Engine now handles connecting to servers which "kick us off" if the server is too busy.
- Added more error reporting code, less unimplemented traps. The program should now put up a "Signal" message if things go "really" wrong.
- Fixed a bug in the data identification routine used when downloading files. This would sometimes cause the user to get an "unimplemented trap".
- Fixed several minor user interface bugs.
New Features:
- Added support for upload permissions and changing permissions
- Added copying and duplicating remote files, both to the same server and to a different server
- Added the ability to "go to" a directory without having to go through all the intermediate directories.
- Added a Get Info window
- Rearranged and added many preferences:
- Non-English sorting
- folder icons can now be drawn plain
- ability to disable renaming items
- listing windows can now be displayed in a selectable font
- downloading "intelligently" is even more intelligent (can look for a Binhex file buried in a MacBinary file)
- the download location has more options
- you can now set default upload permissions
- Added help items to the Help menu.
- Displays more kinds in the "Kind" field (now uses Internet Config's information if you don't have the appropriate application).
- Now remembers the last entered URL in the New FTP Connection dialog.
- Now decodes escape characters in URLs sent to the program.
- You can now use option-command-W to close all windows.
- Undo when renaming an item now works.
- Added one-off downloading option dialogs.
Version 1.0.2 - March 12, 1997.
- Fixed crashing when trying to delete files.
- Rearranged some of the preferences
- The default for "resolve aliases" is now OFF (this was causing problems on some servers... grr...)
- Added "Tell Netscape not use NF" applescript program
- Added VMS directory parsing (very limited testing at this stage)
- Fixed bug with balloon help icon updating in the prefs window
- Added "PutURL" apple event
- No longer mounts AppleShare volumes when trying to locate the download folder
- Fixed problems with displaying suffix icons
- Fixed bug causing prefs window to crash when it was closed
- Fixed bug stopping files from being deleted if they were inside an open twisted down folder
- Fixed bug in URL parsing which caused resumption of downloads to fail
- Fixed a date computation bug (no longer uses last year's date).
- Added support for some FTP servers which returned a slightly different listing.
- Sorting of names is now case insensitive.
- Fixed a timing bug which would result in not showing a directory listing for slow servers. Even when you know that there files available.
- Fixed a few bugs causing crashes when closing windows/quitting
Version 1.0.1 - March 6, 1997.
- Fixed bug which prevented the program running on PowerPC machines using MacTCP.
- Fixed bug which caused it to crash when you first ran it.
- Partial file resumption was broken. Fixed. You MUST remove old any old "Partial.db" files from "NetFinder Preferences f" folder.
Version 1.0 - March 4, 1997.
10.3 Program History (by Peter)
NetFinder was the inspiration of Peter Li (me), but without the help of Vincent Tan in the later part of the project, this product would not look and feel as good as it is today. It all started around the first half of 1996, when I discovered that it was possible to continue a partially downloaded file. I got excited, because I missed those days when I could continue transferring a file over a modem using ZModem. Remember those days? It wasn't that long ago.
Anyway, I was so excited with the network aspect of things I just didn't feel like getting into more interface designing. As time went on, Vincent and many of my other friends were almost making it a weekly thing to ask how things were going. But my reply was always the same, "getting there". Then one day I decided that this project needed to be finished, so I asked Vincent to help code the interface for me. That was around the 4th quarter of 1996. With the little time we had between our own daytime jobs/activities, we managed to get the product to a more useful state, as opposed to my terminal based test program.
Here it is now, it works and I don't think I can do without it. Look out for future versions!
Go to the Table Of Contents, go back to 9.0 Contacting The Authors or go forward to 11.0 Frequently Asked Questions.
Copyright © 1997, Peter Li and Vincent Tan.